<script src="path/to/leaflet.js"></script>
<script src="path/to/leaflet.curve.js"></script>


// 引入Leaflet库
import L from 'leaflet';
import 'leaflet-curve'; // 确保引入了 Leaflet.curve 插件

// 初始化地图
var map = L.map('mapid').setView([初始纬度, 初始经度], 初始缩放级别); 
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    maxZoom: 19,
    attribution: '© OpenStreetMap contributors'
}).addTo(map);

// 当定位成功时执行的函数
function onLocationFound(e) {
    var radius = e.accuracy / 2;
    L.marker(e.latlng).addTo(map)
        .bindPopup("你在" + radius + "米范围内").openPopup();
    L.circle(e.latlng, radius).addTo(map);
}

// 当定位失败时执行的函数
function onLocationError(e) {
    alert(e.message);
}

map.on('locationfound', onLocationFound);
map.on('locationerror', onLocationError);

map.locate({setView: true, maxZoom: 16, watch: true});

// 创建一个曲线对象来表示路径
var curvePoints = [];
var curve = L.curve(['M', [初始纬度, 初始经度]], {color: 'red'}).addTo(map);

// 每当位置更新时，更新曲线路径
map.on('locationfound', function(e) {
    curvePoints.push('L', e.latlng);
    curve.setPath(curvePoints);
});
